Apparatus, system and method of Concurrent Multiple Band (CMB) wireless communication

ABSTRACT

For example, a wireless communication device may be configured to determine a Concurrent Multiple Band (CMB) routing scheme based on Quality of Service (QoS) requirement information and network condition information, the CMB routing scheme to route a plurality of application streams to a plurality of radios of the wireless communication device for wireless communication over a plurality of wireless communication bands, the plurality of application streams corresponding to one or more applications to be executed by the wireless communication device; and to route the plurality of application streams to the plurality of radios by determining, based on the CMB routing scheme, to which radio of the plurality of radios to route the application stream of the plurality of application streams.

TECHNICAL FIELD

Embodiments described herein generally relate to Concurrent MultipleBand (CMB) wireless communication.

BACKGROUND

Some wireless network adapters may allow concurrent communication withmultiple Basic Service Sets (BSSs).

The BSSs may be in different wireless communication bands, e.g., a 2.4Gigahertz (GHz) band, a 5 GHz band, and/or in a 6-7 GHz band.

BRIEF DESCRIPTION OF THE DRAWINGS

For simplicity and clarity of illustration, elements shown in thefigures have not necessarily been drawn to scale. For example, thedimensions of some of the elements may be exaggerated relative to otherelements for clarity of presentation. Furthermore, reference numeralsmay be repeated among the figures to indicate corresponding or analogouselements. The figures are listed below.

FIG. 1 is a schematic block diagram illustration of a system, inaccordance with some demonstrative embodiments.

FIG. 2 is a schematic block diagram illustration of a ConcurrentMultiple Band (CMB) data path, in accordance with some demonstrativeembodiments.

FIG. 3 is a schematic block diagram illustration of an implementation ofa CMB router in a CMB communication scheme, in accordance with somedemonstrative embodiments.

FIG. 4 is a schematic flow-chart illustration of a method of updating aCMB routing scheme, in accordance with some demonstrative embodiments.

FIG. 5 is a schematic flow-chart illustration of a method of CMBwireless communication, in accordance with some demonstrativeembodiments.

FIG. 6 is a schematic illustration of a product of manufacture, inaccordance with some demonstrative embodiments.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are setforth in order to provide a thorough understanding of some embodiments.However, it will be understood by persons of ordinary skill in the artthat some embodiments may be practiced without these specific details.In other instances, well-known methods, procedures, components, unitsand/or circuits have not been described in detail so as not to obscurethe discussion.

Discussions herein utilizing terms such as, for example, “processing”,“computing”, “calculating”, “determining”, “establishing”, “analyzing”,“checking”, or the like, may refer to operation(s) and/or process(es) ofa computer, a computing platform, a computing system, or otherelectronic computing device, that manipulate and/or transform datarepresented as physical (e.g., electronic) quantities within thecomputer's registers and/or memories into other data similarlyrepresented as physical quantities within the computer's registersand/or memories or other information storage medium that may storeinstructions to perform operations and/or processes.

The terms “plurality” and “a plurality”, as used herein, include, forexample, “multiple” or “two or more”. For example, “a plurality ofitems” includes two or more items.

References to “one embodiment”, “an embodiment”, “demonstrativeembodiment”, “various embodiments” etc., indicate that the embodiment(s)so described may include a particular feature, structure, orcharacteristic, but not every embodiment necessarily includes theparticular feature, structure, or characteristic. Further, repeated useof the phrase “in one embodiment” does not necessarily refer to the sameembodiment, although it may.

As used herein, unless otherwise specified the use of the ordinaladjectives “first”, “second”, “third” etc., to describe a common object,merely indicate that different instances of like objects are beingreferred to, and are not intended to imply that the objects so describedmust be in a given sequence, either temporally, spatially, in ranking,or in any other manner.

Some embodiments may be used in conjunction with various devices andsystems, for example, a User Equipment (UE), a Mobile Device (MD), awireless station (STA), a Personal Computer (PC), a desktop computer, amobile computer, a laptop computer, a notebook computer, a tabletcomputer, a server computer, a handheld computer, a sensor device, anInternet of Things (IoT) device, a wearable device, a handheld device, aPersonal Digital Assistant (PDA) device, a handheld PDA device, anon-board device, an off-board device, a hybrid device, a vehiculardevice, a non-vehicular device, a mobile or portable device, a consumerdevice, a non-mobile or non-portable device, a wireless communicationstation, a wireless communication device, a wireless Access Point (AP),a wired or wireless router, a wired or wireless modem, a video device,an audio device, an audio-video (A/V) device, a wired or wirelessnetwork, a wireless area network, a Wireless Video Area Network (WVAN),a Local Area Network (LAN), a Wireless LAN (WLAN), a Personal AreaNetwork (PAN), a Wireless PAN (WPAN), and the like.

Some embodiments may be used in conjunction with devices and/or networksoperating in accordance with existing IEEE 802.11 standards (includingIEEE 802.11-2016 (IEEE 802.11-2016, IEEE Standard for Informationtechnology—Telecommunications and information exchange between systemsLocal and metropolitan area networks—Specific requirements Part 11:Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)Specifications, Dec. 7, 2016), and/or future versions and/or derivativesthereof, devices and/or networks operating in accordance with existingcellular specifications and/or protocols, e.g., 3rd GenerationPartnership Project (3GPP), 3GPP Long Term Evolution (LTE) and/or futureversions and/or derivatives thereof, units and/or devices which are partof the above networks, and the like.

Some embodiments may be used in conjunction with one way and/or two-wayradio communication systems, cellular radio-telephone communicationsystems, a mobile phone, a cellular telephone, a wireless telephone, aPersonal Communication Systems (PCS) device, a PDA device whichincorporates a wireless communication device, a mobile or portableGlobal Positioning System (GPS) device, a device which incorporates aGPS receiver or transceiver or chip, a device which incorporates an RFIDelement or chip, a Multiple Input Multiple Output (MIMO) transceiver ordevice, a Single Input Multiple Output (SIMO) transceiver or device, aMultiple Input Single Output (MISO) transceiver or device, a devicehaving one or more internal antennas and/or external antennas, DigitalVideo Broadcast (DVB) devices or systems, multi-standard radio devicesor systems, a wired or wireless handheld device, e.g., a Smartphone, aWireless Application Protocol (WAP) device, or the like.

Some embodiments may be used in conjunction with one or more types ofwireless communication signals and/or systems, for example, RadioFrequency (RF), Infra-Red (IR), Frequency-Division Multiplexing (FDM),Orthogonal FDM (OFDM), Orthogonal Frequency-Division Multiple Access(OFDMA), Spatial Divisional Multiple Access (SDMA), FDM Time-DivisionMultiplexing (TDM), Time-Division Multiple Access (TDMA), Multi-UserMIMO (MU-MIMO), Extended TDMA (E-TDMA), General Packet Radio Service(GPRS), extended GPRS, Code-Division Multiple Access (CDMA), WidebandCDMA (WCDMA), CDMA 2000, single-carrier CDMA, multi-carrier CDMA,Multi-Carrier Modulation (MDM), Discrete Multi-Tone (DMT), Bluetooth®,Global Positioning System (GPS), Wi-Fi, Wi-Max, ZigBee™, Ultra-Wideband(UWB), Global System for Mobile communication (GSM), 2G, 2.5G, 3G, 3.5G,4G, Fifth Generation (5G) mobile networks, 3GPP, Long Term Evolution(LTE), LTE advanced, Enhanced Data rates for GSM Evolution (EDGE), orthe like. Other embodiments may be used in various other devices,systems and/or networks.

The term “wireless device”, as used herein, includes, for example, adevice capable of wireless communication, a communication device capableof wireless communication, a communication station capable of wirelesscommunication, a portable or non-portable device capable of wirelesscommunication, or the like. In some demonstrative embodiments, awireless device may be or may include a peripheral that is integratedwith a computer, or a peripheral that is attached to a computer. In somedemonstrative embodiments, the term “wireless device” may optionallyinclude a wireless service.

The term “communicating” as used herein with respect to a communicationsignal includes transmitting the communication signal and/or receivingthe communication signal. For example, a communication unit, which iscapable of communicating a communication signal, may include atransmitter to transmit the communication signal to at least one othercommunication unit, and/or a communication receiver to receive thecommunication signal from at least one other communication unit. Theverb communicating may be used to refer to the action of transmitting orthe action of receiving. In one example, the phrase “communicating asignal” may refer to the action of transmitting the signal by a firstdevice, and may not necessarily include the action of receiving thesignal by a second device. In another example, the phrase “communicatinga signal” may refer to the action of receiving the signal by a firstdevice, and may not necessarily include the action of transmitting thesignal by a second device.

Some demonstrative embodiments may be used in conjunction with a WLAN,e.g., a Wi-Fi network. Other embodiments may be used in conjunction withany other suitable wireless communication network, for example, awireless area network, a “piconet”, a WPAN, a WVAN and the like.

Some demonstrative embodiments may be used in conjunction with awireless communication network communicating over a frequency band of2.4 GHz, 5 GHz, and/or 6-7 GHz. However, other embodiments may beimplemented utilizing any other suitable wireless communicationfrequency bands, for example, an Extremely High Frequency (EHF) band(the millimeter wave (mmWave) frequency band), e.g., a frequency bandwithin the frequency band of between 20 GHz and 300 GHz, a WLANfrequency band, a WPAN frequency band, and the like.

As used herein, the term “circuitry” may refer to, be part of, orinclude, an Application Specific Integrated Circuit (ASIC), anintegrated circuit, an electronic circuit, a processor (shared,dedicated, or group), and/or memory (shared, dedicated, or group), thatexecute one or more software or firmware programs, a combinational logiccircuit, and/or other suitable hardware components that provide thedescribed functionality. In some embodiments, the circuitry may beimplemented in, or functions associated with the circuitry may beimplemented by, one or more software or firmware modules. In someembodiments, circuitry may include logic, at least partially operable inhardware.

The term “logic” may refer, for example, to computing logic embedded incircuitry of a computing apparatus and/or computing logic stored in amemory of a computing apparatus. For example, the logic may beaccessible by a processor of the computing apparatus to execute thecomputing logic to perform computing functions and/or operations. In oneexample, logic may be embedded in various types of memory and/orfirmware, e.g., silicon blocks of various chips and/or processors. Logicmay be included in, and/or implemented as part of, various circuitry,e.g., radio circuitry, receiver circuitry, control circuitry,transmitter circuitry, transceiver circuitry, processor circuitry,and/or the like. In one example, logic may be embedded in volatilememory and/or non-volatile memory, including random access memory, readonly memory, programmable memory, magnetic memory, flash memory,persistent memory, and/or the like. Logic may be executed by one or moreprocessors using memory, e.g., registers, buffers, stacks, and the like,coupled to the one or more processors, e.g., as necessary to execute thelogic.

The term “antenna”, as used herein, may include any suitableconfiguration, structure and/or arrangement of one or more antennaelements, components, units, assemblies and/or arrays. In someembodiments, the antenna may implement transmit and receivefunctionalities using separate transmit and receive antenna elements. Insome embodiments, the antenna may implement transmit and receivefunctionalities using common and/or integrated transmit/receiveelements. The antenna may include, for example, a phased array antenna,a single element antenna, a set of switched beam antennas, and/or thelike.

The phrase “peer to peer (PTP) communication”, as used herein, mayrelate to device-to-device communication over a wireless link(“peer-to-peer link”) between devices. The PTP communication mayinclude, for example, a Wi-Fi Direct (WFD) communication, e.g., a WFDPeer to Peer (P2P) communication, wireless communication over a directlink within a Quality of Service (QoS) basic service set (BSS), atunneled direct-link setup (TDLS) link, a STA-to-STA communication in anindependent basic service set (IBSS), or the like.

Some demonstrative embodiments are described herein with respect toWi-Fi communication. However, other embodiments may be implemented withrespect to any other communication scheme, network, standard and/orprotocol.

Reference is now made to FIG. 1 , which schematically illustrates ablock diagram of a system 100, in accordance with some demonstrativeembodiments.

As shown in FIG. 1 , in some demonstrative embodiments system 100 mayinclude a wireless communication network including one or more wirelesscommunication devices, e.g., wireless communication devices 102, 140,160 and/or 180.

In some demonstrative embodiments, wireless communication devices 102,140, 160 and/or 180 may include, for example, a UE, an MD, a STA, an AP,a PC, a desktop computer, a mobile computer, a laptop computer, anUltrabook™ computer, a notebook computer, a tablet computer, a servercomputer, a handheld computer, an Internet of Things (IoT) device, asensor device, a handheld device, a wearable device, a PDA device, ahandheld PDA device, an on-board device, an off-board device, a hybriddevice (e.g., combining cellular phone functionalities with PDA devicefunctionalities), a consumer device, a vehicular device, a non-vehiculardevice, a mobile or portable device, a non-mobile or non-portabledevice, a mobile phone, a cellular telephone, a PCS device, a PDA devicewhich incorporates a wireless communication device, a mobile or portableGPS device, a DVB device, a relatively small computing device, anon-desktop computer, a “Carry Small Live Large” (CSLL) device, an UltraMobile Device (UMD), an Ultra Mobile PC (UMPC), a Mobile Internet Device(MID), an “Origami” device or computing device, a device that supportsDynamically Composable Computing (DCC), a context-aware device, a videodevice, an audio device, an A/V device, a Set-Top-Box (STB), a Blu-raydisc (BD) player, a BD recorder, a Digital Video Disc (DVD) player, aHigh Definition (HD) DVD player, a DVD recorder, a HD DVD recorder, aPersonal Video Recorder (PVR), a broadcast HD receiver, a video source,an audio source, a video sink, an audio sink, a stereo tuner, abroadcast radio receiver, a flat panel display, a Personal Media Player(PMP), a digital video camera (DVC), a digital audio player, a speaker,an audio receiver, an audio amplifier, a gaming device, a data source, adata sink, a Digital Still camera (DSC), a media player, a Smartphone, atelevision, a music player, or the like.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayinclude, operate as, and/or perform the functionality of one or moreSTAs. For example, devices 102, 140, 160 and/or 180 may include at leastone STA.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayinclude, operate as, and/or perform the functionality of one or moreWLAN STAs.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayinclude, operate as, and/or perform the functionality of one or moreWi-Fi STAs.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayinclude, operate as, and/or perform the functionality of one or more BTdevices.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayinclude, operate as, and/or perform the functionality of one or moreNeighbor Awareness Networking (NAN) STAs.

In some demonstrative embodiments, one or more of wireless communicationdevices 102, 140, 160 and/or 180, e.g., devices 140, 160 and/or 180, mayinclude, operate as, and/or perform the functionality of an Access Point(AP) STA.

For example, the AP may include a router, a PC, a server, a Hot-Spotand/or the like.

In one example, a station (STA) may include a logical entity that is asingly addressable instance of a medium access control (MAC) andphysical layer (PHY) interface to the wireless medium (WM). The STA mayperform any other additional or alternative functionality.

In one example, an AP may include an entity that contains a station(STA), e.g., one STA, and provides access to distribution services, viathe wireless medium (WM) for associated STAs. The AP may perform anyother additional or alternative functionality.

In one example, a non-access-point (non-AP) station (STA) may include aSTA that is not contained within an AP. The non-AP STA may perform anyother additional or alternative functionality.

In some demonstrative embodiments, device 102 may include, for example,one or more of a processor 191, an input unit 192, an output unit 193, amemory unit 194, and/or a storage unit 195. Device 102 may optionallyinclude other suitable hardware components and/or software components.In some demonstrative embodiments, some or all of the components of oneor more of device 102 may be enclosed in a common housing or packaging,and may be interconnected or operably associated using one or more wiredor wireless links. In other embodiments, components of one or more ofdevice 102 may be distributed among multiple or separate devices.

In some demonstrative embodiments, processor 191 may include, forexample, a Central Processing Unit (CPU), a Digital Signal Processor(DSP), one or more processor cores, a single-core processor, a dual-coreprocessor, a multiple-core processor, a microprocessor, a hostprocessor, a controller, a plurality of processors or controllers, achip, a microchip, one or more circuits, circuitry, a logic unit, anIntegrated Circuit (IC), an Application-Specific IC (ASIC), or any othersuitable multi-purpose or specific processor or controller. Processor191 executes instructions, for example, of an Operating System (OS) ofdevice 102 and/or of one or more suitable applications.

In some demonstrative embodiments, input unit 192 may include, forexample, a keyboard, a keypad, a mouse, a touch-screen, a touch-pad, atrack-ball, a stylus, a microphone, or other suitable pointing device orinput device. Output unit 193 includes, for example, a monitor, ascreen, a touch-screen, a flat panel display, a Light Emitting Diode(LED) display unit, a Liquid Crystal Display (LCD) display unit, aplasma display unit, one or more audio speakers or earphones, or othersuitable output devices.

In some demonstrative embodiments, memory unit 194 includes, forexample, a Random Access Memory (RAM), a Read Only Memory (ROM), aDynamic RAM (DRAM), a Synchronous DRAM (SD-RAM), a flash memory, avolatile memory, a non-volatile memory, a cache memory, a buffer, ashort term memory unit, a long term memory unit, or other suitablememory units. Storage unit 195, for example, a hard disk drive, a floppydisk drive, a Compact Disk (CD) drive, a CD-ROM drive, a DVD drive, orother suitable removable or non-removable storage units. Memory unit 194and/or storage unit 195, for example, may store data processed by device102.

In some demonstrative embodiments, wireless communication devices 102,140, 160 and/or 180 may be capable of communicating content, data,information and/or signals via a wireless medium (WM) 103. In somedemonstrative embodiments, wireless medium 103 may include, for example,a radio channel, a cellular channel, a Global Navigation SatelliteSystem (GNSS) Channel, an RF channel, a Wi-Fi channel, an IR channel, aBluetooth (BT) channel, and the like.

In some demonstrative embodiments, wireless communication medium 103 mayinclude a wireless communication channel over a 2.4 Gigahertz (GHz)frequency band, a 5 GHz frequency band, a 6-7 GHz frequency band, amillimeterWave (mmWave) frequency band, e.g., a 60 GHz frequency band, aSub-1 GHz (S1G) band, and/or any other frequency band.

In some demonstrative embodiments, devices 102, 140, 160 and/or 180 mayinclude one or more radios including circuitry and/or logic to performwireless communication between devices 102, 140, 160 and/or 180, and/orone or more other wireless communication devices. For example, device102 may include at least one radio 114.

In some demonstrative embodiments, radio 114 may include one or morewireless receivers (Rx) including circuitry and/or logic to receivewireless communication signals, RF signals, frames, blocks, transmissionstreams, packets, messages, data items, and/or data. For example, radio114 may include at least one receiver 116.

In some demonstrative embodiments, radio 114 may include one or morewireless transmitters (Tx) including circuitry and/or logic to transmitwireless communication signals, RF signals, frames, blocks, transmissionstreams, packets, messages, data items, and/or data. For example, radio114 may include at least one transmitter 118.

In some demonstrative embodiments, radio 114, transmitter 118, and/orreceiver 116 may include circuitry; logic; Radio Frequency (RF)elements, circuitry and/or logic; baseband elements, circuitry and/orlogic; modulation elements, circuitry and/or logic; demodulationelements, circuitry and/or logic; amplifiers; analog to digital and/ordigital to analog converters; filters; and/or the like. For example,radio 114 may include or may be implemented as part of a wirelessNetwork Interface Card (NIC), and the like.

In some demonstrative embodiments, radio 114 may be configured tocommunicate over a 2.4 GHz band, a 5 GHz band, a 6 GHz frequency band,e.g., a 6-7 GHz frequency band, a mmWave band, a S1G band, and/or anyother band.

In some demonstrative embodiments, radio 114 may include, or may beassociated with, one or more antennas 107.

In one example, device 102 may include a single antenna 107. In anotherexample, device may include two or more antennas 107.

Antennas 107 may include any type of antennas suitable for transmittingand/or receiving wireless communication signals, blocks, frames,transmission streams, packets, messages and/or data. For example,antennas 107 may include any suitable configuration, structure and/orarrangement of one or more antenna elements, components, units,assemblies and/or arrays. Antennas 107 may include, for example,antennas suitable for directional communication, e.g., using beamformingtechniques. For example, antennas 107 may include a phased arrayantenna, a multiple element antenna, a set of switched beam antennas,and/or the like. In some embodiments, antennas 107 may implementtransmit and receive functionalities using separate transmit and receiveantenna elements. In some embodiments, antennas 107 may implementtransmit and receive functionalities using common and/or integratedtransmit/receive elements.

In some demonstrative embodiments, device 102 may include a controller124 configured to perform and/or to trigger, cause, instruct and/orcontrol device 102 to perform, one or more communications, to generateand/or communicate one or more messages and/or transmissions, and/or toperform one or more functionalities, operations and/or proceduresbetween devices 102, 140, 160, 180, and/or one or more other devices,e.g., as described below.

In some demonstrative embodiments, controller 124 may include, or may beimplemented, partially or entirely, by circuitry and/or logic, e.g., oneor more processors including circuitry and/or logic, memory circuitryand/or logic, Media-Access Control (MAC) circuitry and/or logic,Physical Layer (PHY) circuitry and/or logic, baseband (BB) circuitryand/or logic, a BB processor, a BB memory, Application Processor (AP)circuitry and/or logic, an AP processor, an AP memory, and/or any othercircuitry and/or logic, configured to perform the functionality ofcontroller 124, respectively. Additionally or alternatively, one or morefunctionalities of controller 124 may be implemented by logic, which maybe executed by a machine and/or one or more processors, e.g., asdescribed below.

In one example, controller 124 may include circuitry and/or logic, forexample, one or more processors including circuitry and/or logic, tocause, trigger and/or control a wireless device, e.g., device 102,and/or a wireless station, e.g., a wireless STA implemented by device102, to perform one or more operations, communications and/orfunctionalities, e.g., as described herein. In one example, controller124 may include at least one memory, e.g., coupled to the one or moreprocessors, which may be configured, for example, to store, e.g., atleast temporarily, at least some of the information processed by the oneor more processors and/or circuitry, and/or which may be configured tostore logic to be utilized by the processors and/or circuitry.

In some demonstrative embodiments, at least part of the functionality ofcontroller 124 may be implemented as part of one or more elements ofradio 114.

In other embodiments, the functionality of controller 124 may beimplemented as part of any other element of device 102.

In some demonstrative embodiments, device 102 may include a messageprocessor 128 configured to generate, process and/or access one or moremessages communicated by device 102.

In one example, message processor 128 may be configured to generate oneor more messages to be transmitted by device 102, and/or messageprocessor 128 may be configured to access and/or to process one or moremessages received by device 102, e.g., as described below.

In one example, message processor 128 may include at least one firstcomponent configured to generate a message, for example, in the form ofa frame, field, information element and/or protocol data unit, forexample, a MAC Protocol Data Unit (MPDU); at least one second componentconfigured to convert the message into a PHY Protocol Data Unit (PPDU),e.g., a PHY Layer Convergence Procedure (PLCP) PDU, for example, byprocessing the message generated by the at least one first component,e.g., by encoding the message, modulating the message and/or performingany other additional or alternative processing of the message; and/or atleast one third component configured to cause transmission of themessage over a wireless communication medium, e.g., over a wirelesscommunication channel in a wireless communication frequency band, forexample, by applying to one or more fields of the PPDU one or moretransmit waveforms. In other aspects, message processor 128 may beconfigured to perform any other additional or alternative functionalityand/or may include any other additional or alternative components togenerate and/or process a message to be transmitted.

In some demonstrative embodiments, message processor 128 may include, ormay be implemented, partially or entirely, by circuitry and/or logic,e.g., one or more processors including circuitry and/or logic, memorycircuitry and/or logic, Media-Access Control (MAC) circuitry and/orlogic, Physical Layer (PHY) circuitry and/or logic, BB circuitry and/orlogic, a BB processor, a BB memory, AP circuitry and/or logic, an APprocessor, an AP memory, and/or any other circuitry and/or logic,configured to perform the functionality of message processor 128.Additionally or alternatively, one or more functionalities of messageprocessor 128 may be implemented by logic, which may be executed by amachine and/or one or more processors, e.g., as described below.

In some demonstrative embodiments, at least part of the functionality ofmessage processor 128 may be implemented as part of radio 114.

In some demonstrative embodiments, at least part of the functionality ofmessage processor 128 may be implemented as part of controller 124.

In other embodiments, the functionality of message processor 128 may beimplemented as part of any other element of device 102.

In some demonstrative embodiments, at least part of the functionality ofcontroller 124 and/or message processor 128 may be implemented by anintegrated circuit, for example, a chip, e.g., a System on Chip (SoC).In one example, the chip or SoC may be configured to perform one or morefunctionalities of radio 114. For example, the chip or SoC may includeone or more elements of controller 124, one or more elements of messageprocessor 128, and/or one or more elements of radio 114. In one example,controller 124, message processor 128, and radio 114 may be implementedas part of the chip or SoC.

In other embodiments, controller 124, message processor 128 and/or radio114 may be implemented by one or more additional or alternative elementsof device 102.

In some demonstrative embodiments, wireless communication devices 102,140, 160 and/or 180 may form, or may communicate as part of, a wirelesslocal area network (WLAN).

In some demonstrative embodiments, wireless communication devices 102,140, 160 and/or 180 may form, or may communicate as part of, a Wi-Finetwork.

In other embodiments, wireless communication devices 102, 140, 160and/or 180 may form, and/or communicate as part of, any other additionalor alternative network.

In some demonstrative embodiments, devices 140, 160 and/or 180 mayinclude, operate as, perform the role of, and/or perform one or morefunctionalities of an AP STA.

In some demonstrative embodiments, devices 102 may include, operate as,perform the role of, and/or perform one or more functionalities of, oneor more STAs. For example, device 102 may include at least one STA.

In some demonstrative embodiments, radio 114 may include a plurality ofradios 114 connected to one or more antennas 107.

In some demonstrative embodiments, device 102 may include one or moreapplications 125 to provide one or more services, operations, and/orinformation to a user of device 102, for example, from the Internet,and/or any other network.

In some demonstrative embodiments, device 102 and/or radios 114 may beconfigured to allow concurrent communication with a plurality of BasicService Sets (BSSs).

In some demonstrative embodiments, the plurality of BSSs may be indifferent wireless communication bands. For example, the plurality ofBSSs may be in a 2.4 Gigahertz (GHz) band, a 5 GHz band, a 6 GHz band,and/or any other band.

In some demonstrative embodiments, the plurality of radios 114 may beconfigured to communicate in the plurality of BSSs, for example, bycommunicating over a Concurrent Multiple Band (CMB) in the 2.4 GHz band,the 5 GHz band, and/or the 6 GHz band.

In some demonstrative embodiments, the CMB may be defined as aconcurrent communication over multiple bands, e.g., in the plurality ofBSSs.

In some demonstrative embodiments, the CMB may be configured to allowachieving higher data rates, providing a better Quality of Service(QoS), and/or any other performance enhancements.

In one example, the CMB may be configured to improve user QoS, forexample, especially for latency-sensitive applications, e.g., gaming,conversational voice and video, for example, especially in congestedWiFi environments.

In some demonstrative embodiments, there may be a need to address one ormore technical inefficiencies, disadvantages and/or problems in one ormore use cases and/or scenarios, for example, when routing applicationstreams of the one or more applications 125, for example, to differentBSSs.

In some demonstrative embodiments, it may be inefficient to performstatic routing of data from different applications to different networksaccording to a user configuration, e.g., including different networktypes such as Ethernet, WiFi or cellular, based on user configuration oron reported network speed, e.g., as described below.

In one example, the static routing may not take into account to possibleconnection or network dynamics. For example, wireless network conditionsmay constantly vary, e.g., due to changes in RF propagation conditions,connected stations number, traffic load, and/or any other networkconditions or attributes. Therefore, a static pre-configured trafficrouting to different wireless networks may be sub-optimal in terms ofuser QoS, performance, and/or efficiency.

In some demonstrative embodiments, device 102 may be configured todetermine a CMB routing scheme, for example, to dynamically route theapplication streams of applications 125 to the different BSSs, forexample, via the plurality of radios 114, e.g., as described below.

In some demonstrative embodiments, device 102 and/or controller 124 maybe configured to dynamically adapt traffic routing to different wirelessnetworks, for example, to optimize a user QoS and/or performance, e.g.,as described below.

In some demonstrative embodiments, device 102 and/or controller 124 maybe configured to monitor, e.g., constantly monitor, network conditionsfor connected BSSs, for example, based on network metrics provided bywireless NICs, e.g., radios 114; AP band information, e.g., from devices140, 160 and/or 180; user/IT configured policy, and/or any otheradditional and/or alternative input, e.g., as described below.

Reference is made to FIG. 2 , which schematically illustrates a blockdiagram of a CMB data path, in accordance with some demonstrativeembodiments.

In some demonstrative embodiments, as shown in FIG. 2 , a CMB router 224may be implemented in a client device, e.g., device 102 (FIG. 1 ), forexample, as part of an operating system of the device, as a middlewarebetween an operating system network stack and/or wireless NIC drivers,e.g., drivers of radios 114 (FIG. 1 ), and/or by any other component ofthe device. For example, controller 124 (FIG. 1 ) may include, operateas, perform one or more operations of, and/or perform the functionalityof, CMB router 224.

In some demonstrative embodiments, as shown in FIG. 2 , one or moreapplications 225 may communicate traffic 227 with the Internet 203.

In some demonstrative embodiments, as shown in FIG. 2 , a plurality ofradios 214 may communicate with a plurality of APs 260. In one example,each AP 260 may communicate over a different BSS in a different wirelesscommunication band.

In some demonstrative embodiments, the CMB router 224 may determine howto split the traffic 227 between the plurality of radios 214.

In one example, the traffic split may occur at different network modellayers, e.g., a MAC Control Protocol (TCP) layer, an Internet Protocol(IP) layer, a MAC later, and the like. The traffic may be aggregated atsome point in the network, e.g., at the AP, or some anchor point in thecloud or network, or it may stay split until the other end.

Referring back to FIG. 1 , in some demonstrative embodiments, device 102may be configured to determine a CMB routing scheme, for example, toroute application streams of applications 125, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured tocontrol, cause and/or trigger the STA implemented by device 102 todetermine a CMB routing scheme based on Quality of Service (QoS)requirement information, network condition information, and/or any otheradditional or alternative information, e.g., as described below.

In some demonstrative embodiments, the CMB routing scheme may beconfigured to route a plurality of application streams to the pluralityof radios 114 of device 102, for example, for wireless communicationover a plurality of wireless communication bands, e.g., as describedbelow.

In some demonstrative embodiments, the plurality of wirelesscommunication bands may include a 2.4 GHz band, a 5 GHz band, and/or a 6GHz band, e.g., as described below.

In other embodiments, the plurality of wireless communication bands mayinclude any other additional or alternative wireless communicationbands.

In some demonstrative embodiments, the plurality of application streamsmay correspond to the one or more applications 125 to be executed bydevice 102, e.g., as described below.

In some demonstrative embodiments, the QoS requirement information mayinclude, for example, for an application stream of the plurality ofapplication streams, information of one or more QoS requirements for theapplication stream, e.g., as described below.

In some demonstrative embodiments, the network condition information mayinclude, for example, for a wireless communication band of the pluralityof wireless communication bands, information of one or more networkcondition parameters for wireless communication over the wirelesscommunication band, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured tocontrol, cause and/or trigger the STA implemented by device 102 to routethe plurality of application streams to the plurality of radios 114, forexample, by determining, based on the CMB routing scheme, to which radioof the plurality of radios 114 to route the application stream of theplurality of application streams, e.g., as described below.

In some demonstrative embodiments, the one or more QoS requirements forthe application stream may include a maximal acceptable latency ofpackets of the application stream, e.g., as described below.

In some demonstrative embodiments, the one or more QoS requirements forthe application stream may include a minimum average traffic rate, e.g.,as described below.

In some demonstrative embodiments, the one or more QoS requirements forthe application stream may include a maximum acceptable jitter, and/or aminimum required peak traffic rate, e.g., as described below.

In other embodiments, the one or more QoS requirements for theapplication stream may include any other additional or alternativeattributes and/or parameters, e.g., as described below.

In some demonstrative embodiments, the one or more network conditionparameters may include one or more channel receive and/or transmitlatency metrics, e.g., as described below.

In some demonstrative embodiments, the one or more network conditionparameters may include a transmit or receive data rate of traffic, e.g.,as described below.

In some demonstrative embodiments, the one or more network conditionparameters may include one or more transmit queuing delay metrics, e.g.,as described below.

In some demonstrative embodiments, the one or more network conditionparameters may include a Receive Signal Strength Indicator (RSSI), oneor more transmit or receive jitter metrics, and/or a receive Signal toNoise Ratio (SNR), e.g., as described below.

In other embodiments, the one or more network condition parameters mayinclude any other additional or alternative attributes, metrics, ratios,indicators, measurements, and/or parameters, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured tocontrol, cause and/or trigger the STA implemented by device 102 todetermine the CMB routing scheme to route a first application stream ofa first application of applications 125 to a first radio of theplurality of radios 114, and to route a second application stream of asecond application of the one or more applications 125 to a second radioof the plurality of radios 107, e.g., as described below.

In one example, a first radio of radios 114 may communicate over a firstnetwork, e.g., a first BSS, in the 2.4 GHz band; and a second radio ofradios 114 may communicate over a second network, e.g., a second BSS, inthe 5 GHz band. According to this example, controller 124 determine theCMB routing scheme to route the first application stream of the firstapplication to the first radio for wireless communication over the firstBSS in the 2.4 GHz band, and to route the second application stream ofthe second application to the second radio for wireless communicationover the second BSS in the 5 GHz band.

In some demonstrative embodiments, controller 124 may be configured tocontrol, cause and/or trigger the STA implemented by device 102 todetermine the CMB routing scheme to route a first application stream ofa particular application of applications 125 to a first radio of theplurality of radios 107, and to route a second application stream of theparticular application to a second radio of the plurality of radios 114,e.g., as described below.

In one example, a first radio of radios 114 may communicate over a firstnetwork, e.g., a first BSS, in the 2.4 GHz band; and a second radio ofradios 114 may communicate over a second network, e.g., a second BSS, inthe 5 GHz band. According to this example, controller 124 determine theCMB routing scheme to route the first application stream of theparticular application to the first radio for wireless communicationover the first BSS in the 2.4 GHz band, and to route the secondapplication stream of the particular application to the second radio forwireless communication over the second BSS in the 5 GHz band.

In some demonstrative embodiments, device 102 may be configured todynamically update the CMB routing scheme, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured tocontrol, cause and/or trigger the STA implemented by device 102 todynamically update the CMB routing scheme, for example, based on achange in the QoS requirement information and/or the network conditioninformation, e.g., as described below.

In some demonstrative embodiments, device 102 may update the CMB routingscheme based on any other additional or alternative information,triggers and/or events, e.g., as described below.

In some demonstrative embodiments, device 102 may be configured todetermine the CMB routing scheme to route an application stream, e.g.,from applications 125, to a selected radio of the plurality of radios114, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured tocontrol, cause and/or trigger the STA implemented by device 102 todetermine the CMB routing scheme to route the application stream to aselected radio of the plurality of radios 114, for example, based onnetwork condition parameters from the selected radio, e.g., as describedbelow.

In some demonstrative embodiments, controller 124 may be configured tocontrol, cause and/or trigger the STA implemented by device 102 todetermine the CMB routing scheme to route the application stream to theselected radio based on whether or not the one or more QoS requirementsfor the application stream are to be met, for example, based on thenetwork condition parameters from the selected radio, e.g., as describedbelow.

In some demonstrative embodiments, controller 124 may be configured tocontrol, cause and/or trigger the STA implemented by device 102 todetermine the CMB routing scheme to route a first application stream toa selected radio of the plurality of radios 114, for example, based onQoS requirements of the first application stream and QoS requirements ofat least one second application stream to be routed to the selectedradio, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured tocontrol, cause and/or trigger the STA implemented by device 102 todetermine the CMB routing scheme to route the first application streamto the selected radio of the plurality of radios 114, for example, basedon whether or not the QoS requirements of the at least one secondapplication are to be met, for example, when the first applicationstream is to be routed to the selected radio, e.g., as described below.

In some demonstrative embodiments, device 102 may determine the CMBrouting scheme based on one or more additional or alternative inputs,e.g., as described below.

In some demonstrative embodiments, device 102 may determine the CMBrouting scheme based on band information from an AP, e.g., as describedbelow.

In some demonstrative embodiments, controller 124 may be configured tocontrol, cause and/or trigger the STA implemented by device 102 to routethe application stream to an AP, e.g., a device of devices 140, 160and/or 180, over the wireless communication band, and to determine theCMB routing scheme, for example, based on band information from the APrelating to the wireless communication band, e.g., as described below.

In some demonstrative embodiments, the band information may include achannel load report corresponding to the wireless communication band,e.g., as described below.

In some demonstrative embodiments, the band information from the AP mayinclude a station statistic report, a basic transmission rate ofmanagement frames, one or more access delay measurements, a BasicService Set (BSS) available admission capacity, and/or backbone capacityand latency information, e.g., as described below.

In other embodiments, the band information from the AP may include anyother additional or alternative attributes, metrics, measurements,rates, parameters and/or information, e.g., as described below.

In some demonstrative embodiments, controller 124 may be configured tocontrol, cause and/or trigger the STA implemented by device 102 todetermine the CMB routing scheme, for example, based on policyinformation, e.g., as described below.

In some demonstrative embodiments, device 102 may determine the CMBrouting scheme, for example, based on policy information, for example,from a user of device 102 and/or a policy from an information technology(IT) repository, a data bank and/or the like, e.g., as described below.

In some demonstrative embodiments, the policy information may include,for example, for the application stream of the plurality of applicationstreams, one or more policies for communication of the applicationstream over one or more networks, e.g., as described below.

In some demonstrative embodiments, the policy information may includeapplication requirement priority information to prioritize theapplication stream with respect to one or more other application streamsof the plurality of application streams, e.g., as described below.

In some demonstrative embodiments, the policy information may includedynamic routing support and/or network restriction information, forexample, to restrict communication of the application stream over theone or more networks, e.g., as described below.

In other embodiments, the policy information may include any otheradditional or alternative attributes, parameters and/or information.

Reference is made to FIG. 3 , which schematically illustrates a blockdiagram of an implementation of a CMB router 324 in a CMB communicationscheme, in accordance with some demonstrative embodiments. For example,controller 124 (FIG. 1 ) may include, operate as, perform one or moreoperations of, and/or perform the functionality CMB router 324.

In some demonstrative embodiments, as shown in FIG. 3 , CMB router 324may include a controller 326 configured to receive and process one ormore inputs, e.g., including one or more of four inputs, denoted A-D,for example, to determine a CMB routing scheme, e.g., a routing table,to route application streams of one or more applications 325 to aplurality of radios 314, for example, for wireless communication over anetwork 303.

In some demonstrative embodiments, as shown in FIG. 3 , controller 326may provide the routing table to a data path router 328, e.g., over adata path interface, denoted E.

In some demonstrative embodiments, the data path router 328 mayimplement application traffic routing and, optionally, one or moreaddress translation functions, for example, based on the routing table.

In some demonstrative embodiments, controller 326 may receive and/orprocess one or more of the inputs A-D, for example, from one or moreinterfaces. For example, the input A may be received from a wirelessNetwork Interface Card (NIC) Application Protocol Interface (API) ofradios 314; the input B may be received from one or more APs 360; theinput C may be received from a User or IT policy repository 345; and/orthe input D may be received from an Application QoS requirement API ofapplications 325, e.g., as described below.

In some demonstrative embodiments, controller 326 may receive and/orprocess the input A from the WiFi NIC driver API of radios 314.

In some demonstrative embodiments, the input A from the WiFi NIC driverAPI of radios 314 may include, for example, one or more of thefollowing:

-   -   One or more Tx queuing delay metrics    -   One or more Tx/Rx data rate metrics    -   One or more Tx/Rx latency metrics    -   One or more Tx/Rx jitter metrics    -   A Receive signal power (RSSI)    -   A Receive SNR

In other embodiments, the input A from the WiFi NIC driver API mayinclude any other additional or alternative parameters, metrics, ratios,indicators and/or information.

In some demonstrative embodiments, controller 326 may collect metricsfor the different radios 314 and/or different access categories. In oneexample, the metrics may include average and/or percentiles, e.g. 90% or95% percentile, a standard deviation, and/or any other metrics. Inanother example, the metrics may include per-packet information or anyother per-packet information. In another example, the metrics mayinclude any other additional or alternative metrics.

In some demonstrative embodiments, controller 326 may receive and/orprocess the input B from the APs 360, e.g., as described below.

In one example, the input B may be received via a logical interface. Forexample, an AP may send information to a STA, for example, through aninterface control plane, e.g., in accordance with an IEEE802.11Standard, and the STA may relay the information to the CMB router 324,e.g., via the WiFi NIC driver API.

In some demonstrative embodiments, the input B from the APs 360 mayinclude information reported by an AP of APs 360, e.g., as defined in anIEEE802.11 Standard, which may include, for example, one or more of thefollowing:

-   -   A Channel load report    -   A Station statistics report including number of stations and        data rate metrics    -   A Basic rate used for beacons and other management frames    -   An Access delay measurement    -   A BSS available admission capacity    -   A Backbone capacity and latency

In other embodiments, the input B from the APs 360 may include any otheradditional or alternative parameters, metrics, measurements, rates,indicators and/or information.

In some demonstrative embodiments, controller 326 may receive and/orprocess the input C from the user or the IT policy repository 345. Forexample, the input C from the user or the IT policy repository 345 mayinclude, for example, one or more of the following:

-   -   Network usage restrictions per application type:        -   Applications with higher security requirement may not be            allowed to be routed on certain networks, e.g. network            blacklist/whitelist per application, minimum security policy            requirements per application, and/or the like.        -   IT might not allow best-effort applications with high            network usage to use certain networks allocated for            latency-sensitive traffic, or, alternately, an IT or user            policy prioritizing specific networks for some of the            applications.    -   Application requirement priority.    -   Dynamic routing support.

In other embodiments, the input C may include any other additional oralternative policies, conditions, priorities, and/or information.

In some demonstrative embodiments, controller 326 may receive and/orprocess the input D from applications 325. For example, the input D fromapplications 325 may include QoS requirement per application, e.g., asfollows:

-   -   A Maximum acceptable latency    -   A Maximum acceptable jitter    -   A Minimum required average traffic rate    -   A Minimum required peak traffic rate

In one example, the application QoS requirements may be based onconfigured profiles and/or heuristics-based traffic matching to aprofile. For example, an application may be matched to a gaming profileand, accordingly, a gaming configured QoS may be applied to theapplication.

In another example, the input D from applications 325 may include anyother additional or alternative parameters, metrics, measurements,rates, indicators and/or information.

In some demonstrative embodiments, controller 326 may be configured toroute each stream to a different BSS, for example, for applicationshaving multiple network streams, e.g., with different QoS requirementsfor each of the network streams.

In some demonstrative embodiments, controller 326 may be configured toprocess some or all of the inputs A-D, and to dynamically update thetraffic routing table for a suitable match, e.g., an optimal match,between the application QoS requirements of applications 325, and anexpected QoS, e.g., according to the inputs A-D.

In some demonstrative embodiments, the CMB router control logic 326 mayconsider an application requirement priority input and may attempt tomeet the QoS requirement of high priority applications first, forexample, if the requirements are not expected to be fully met, e.g., asdescribed below.

In some demonstrative embodiments, controller 326 may be configured toconsider different QoS requirements, which may be expected in upstreamand/or downstream directions.

In some demonstrative embodiments, controller 326 may be configured toupdate, e.g., via interface E, the routing table for data path router328, for example, based on one or more triggers and/or events, e.g., asdescribed below.

In some demonstrative embodiments, the one or more triggers and/orevents may include, for example, an establishment of a new applicationsession, a termination of a new application session, a change in one ormore application QoS requirements, a new BSS connection, termination ofan existing BSS connection, and/or a significant change in BSSconditions.

In other embodiments, controller 326 may be configured to update therouting table based on any other additional or alternative events and/ortriggers.

In some demonstrative embodiments, controller 326 may be configured touse one or more Hysteresis margins and/or timers, for example, to avoidtoo frequent changes in the routing table.

Reference is made to FIG. 4 , which schematically illustrates a methodof updating a CMB routing scheme, in accordance with some demonstrativeembodiments. For example, one or more of the operations of the method ofFIG. 4 may be performed by a wireless communication system, e.g., system100 (FIG. 1 ); a wireless communication device, e.g., device 102 (FIG. 1); a controller, e.g., controller 124 (FIG. 1 ); a CMB router, e.g., CMBrouter 324 (FIG. 3 ); and/or a CMB controller, e.g., CMB controller 326(FIG. 3 ).

As indicated at block 402, the method may be initiated based on a newapplication connection request or any other event or trigger, e.g., asdescribed above.

As indicated at block 404, the method may include iterating over allnetworks and estimating, e.g., for each network, QoS requirements of allapplications assigned to the network are to be met, for example, whenthe new application is to be assigned to the network.

As indicated at block 406, the method may include determining whether ornot the QoS requirements of all applications assigned to a particularnetwork are to be met when assigning the new application to theparticular network.

As indicated at block 408, the method may include assigning the newapplication to the particular network, when the QoS requirements of allapplications assigned to the particular network are to be met.

As indicated at block 410, the method may include determining whether ornot dynamic routing is supported, for example, when QoS requirements ofone or more applications assigned to each network are not met.

As indicated at block 412, the method may include assigning the newapplication to a network that has the highest number of applicationswith their QoS requirements met, for example, weighted by applicationpriority, for example, when the dynamic routing is not supported.

As indicated at block 414, the method may include iterating over allpossible assignments of applications to networks, and estimatingapplication metrics for each possible assignment to determine if thenetwork QoS requirements of all applications are to be met.

As indicated at block 416, the method may include determining whether ornot the QoS requirements of all applications are to be met whenreassigning the applications to the networks based on a possibleassignment.

As indicated at block 418, the method may include reassigning theapplications to the networks according to the possible assignment, forexample, when the QoS requirements of all applications according to thepossible assignment are to be met.

As indicated at block 420, the method may include reassigning theapplications to a particular possible assignment, e.g., having thehighest number of applications with their QoS requirements met, forexample, weighted by application priority, for example, when anypossible assignment is not to meet all QoS requirements of allapplications.

Reference is made to FIG. 5 , which schematically illustrates a methodof CMB wireless communication. For example, one or more of theoperations of the method of FIG. 5 may be performed by a wirelesscommunication system, e.g., system 100 (FIG. 1 ); a wirelesscommunication device, e.g., device 102 (FIG. 1 ); a controller, e.g.,controller 124 (FIG. 1 ); a CMB router, e.g., CMB router 324 (FIG. 3 );and/or a CMB controller, e.g., CMB controller 326 (FIG. 3 ).

As indicated at block 502, the method may include determining at awireless communication device, a CMB routing scheme based on QoSrequirement information and network condition information, the CMBrouting scheme to route a plurality of application streams to aplurality of radios of the wireless communication device for wirelesscommunication over a plurality of wireless communication bands, theplurality of application streams corresponding to one or moreapplications to be executed by the wireless communication device, theQoS requirement information including, for an application stream of theplurality of application streams, information of one or more QoSrequirements for the application stream, the network conditioninformation including, for a wireless communication band of theplurality of wireless communication bands, information of one or morenetwork condition parameters for wireless communication over thewireless communication band. For example, controller 124 (FIG. 1 ) maycontrol, cause and/or trigger the STA implemented by device 102 (FIG. 1) to determine the CMB routing scheme based on the QoS requirementinformation and the network condition information, the CMB routingscheme to route the plurality of application streams to the plurality ofradios 114 (FIG. 1 ) for wireless communication over the plurality ofwireless communication bands, the plurality of application streamscorresponding to the one or more applications 125 (FIG. 1 ) to beexecuted by device 102 (FIG. 1 ), the QoS requirement informationincluding, for the application stream of the plurality of applicationstreams, information of the one or more QoS requirements for theapplication stream, the network condition information including, for thewireless communication band of the plurality of wireless communicationbands, information of the one or more network condition parameters forthe wireless communication over the wireless communication band, e.g.,as described above.

As indicated at block 504, the method may include routing the pluralityof application streams to the plurality of radios by determining, basedon the CMB routing scheme, to which radio of the plurality of radios toroute the application stream of the plurality of application streams.For example, controller 124 (FIG. 1 ) may control, cause and/or triggerthe STA implemented by device 102 (FIG. 1 ) to route the plurality ofapplication streams to the plurality of radios 114 (FIG. 1 ) bydetermining, based on the CMB routing scheme, to which radio of theplurality of radios 114 to route the application stream of the pluralityof application streams, e.g., as described above.

Reference is made to FIG. 6 , which schematically illustrates a productof manufacture 600, in accordance with some demonstrative embodiments.Product 600 may include one or more tangible computer-readable (“machinereadable”) non-transitory storage media 602, which may includecomputer-executable instructions, e.g., implemented by logic 604,operable to, when executed by at least one processor, e.g., computerprocessor, enable the at least one processor to implement one or moreoperations at device 102 (FIG. 1 ), controller 124 (FIG. 1 ), CMB router324 (FIG. 3 ), and/or CMB controller 326 (FIG. 3 ), to cause device 102(FIG. 1 ), controller 124 (FIG. 1 ), CMB router 324 (FIG. 3 ), and/orCMB controller 326 (FIG. 3 ) to perform one or more operations, and/orto perform, trigger and/or implement one or more operations,communications and/or functionalities described above with reference toFIGS. 1, 2, 3, 4 , and/or 5, and/or one or more operations describedherein. The phrases “non-transitory machine-readable media (medium)” and“computer-readable non-transitory storage media (medium)” are directedto include all computer-readable media, with the sole exception being atransitory propagating signal.

In some demonstrative embodiments, product 600 and/or storage media 602may include one or more types of computer-readable storage media capableof storing data, including volatile memory, non-volatile memory,removable or non-removable memory, erasable or non-erasable memory,writeable or re-writeable memory, and the like. For example, storagemedia 602 may include, RAM, DRAM, Double-Data-Rate DRAM (DDR-DRAM),SDRAM, static RAM (SRAM), ROM, programmable ROM (PROM), erasableprogrammable ROM (EPROM), electrically erasable programmable ROM(EEPROM), Compact Disk ROM (CD-ROM), Compact Disk Recordable (CD-R),Compact Disk Rewriteable (CD-RW), flash memory (e.g., NOR or NAND flashmemory), content addressable memory (CAM), polymer memory, phase-changememory, ferroelectric memory, silicon-oxide-nitride-oxide-silicon(SONOS) memory, a disk, a floppy disk, a hard drive, an optical disk, amagnetic disk, a card, a magnetic card, an optical card, a tape, acassette, and the like. The computer-readable storage media may includeany suitable media involved with downloading or transferring a computerprogram from a remote computer to a requesting computer carried by datasignals embodied in a carrier wave or other propagation medium through acommunication link, e.g., a modem, radio or network connection.

In some demonstrative embodiments, logic 604 may include instructions,data, and/or code, which, if executed by a machine, may cause themachine to perform a method, process and/or operations as describedherein. The machine may include, for example, any suitable processingplatform, computing platform, computing device, processing device,computing system, processing system, computer, processor, or the like,and may be implemented using any suitable combination of hardware,software, firmware, and the like.

In some demonstrative embodiments, logic 604 may include, or may beimplemented as, software, a software module, an application, a program,a subroutine, instructions, an instruction set, computing code, words,values, symbols, and the like. The instructions may include any suitabletype of code, such as source code, compiled code, interpreted code,executable code, static code, dynamic code, and the like. Theinstructions may be implemented according to a predefined computerlanguage, manner or syntax, for instructing a processor to perform acertain function. The instructions may be implemented using any suitablehigh-level, low-level, object-oriented, visual, compiled and/orinterpreted programming language, such as C, C++, Java, BASIC, Matlab,Pascal, Visual BASIC, assembly language, machine code, and the like.

EXAMPLES

The following examples pertain to further embodiments.

Example 1 includes an apparatus including logic and circuitry configuredto cause a wireless communication device to determine a ConcurrentMultiple Band (CMB) routing scheme based on Quality of Service (QoS)requirement information and network condition information, the CMBrouting scheme to route a plurality of application streams to aplurality of radios of the wireless communication device for wirelesscommunication over a plurality of wireless communication bands, theplurality of application streams corresponding to one or moreapplications to be executed by the wireless communication device, theQoS requirement information comprising, for an application stream of theplurality of application streams, information of one or more QoSrequirements for the application stream, the network conditioninformation comprising, for a wireless communication band of theplurality of wireless communication bands, information of one or morenetwork condition parameters for wireless communication over thewireless communication band; and route the plurality of applicationstreams to the plurality of radios by determining, based on the CMBrouting scheme, to which radio of the plurality of radios to route theapplication stream of the plurality of application streams.

Example 2 includes the subject matter of Example 1, and optionally,wherein the apparatus is configured to cause the wireless communicationdevice to dynamically update the CMB routing scheme based on a change inat least one of the QoS requirement information or the network conditioninformation.

Example 3 includes the subject matter of Example 1 or 2, and optionally,wherein the apparatus is configured to cause the wireless communicationdevice to determine the CMB routing scheme to route the applicationstream to a selected radio of the plurality of radios based on networkcondition parameters from the selected radio.

Example 4 includes the subject matter of Example 3, and optionally,wherein the apparatus is configured to cause the wireless communicationdevice to determine the CMB routing scheme to route the applicationstream to the selected radio of the plurality of radios based on whetheror not the one or more QoS requirements for the application stream areto be met based on the network condition parameters from the selectedradio.

Example 5 includes the subject matter of any one of Examples 1-4, andoptionally, wherein the apparatus is configured to cause the wirelesscommunication device to determine the CMB routing scheme to route afirst application stream to a selected radio of the plurality of radiosbased on QoS requirements of the first application stream and QoSrequirements of at least one second application stream to be routed tothe selected radio.

Example 6 includes the subject matter of Example 5, and optionally,wherein the apparatus is configured to cause the wireless communicationdevice to determine the CMB routing scheme to route the firstapplication stream to the selected radio of the plurality of radiosbased on whether or not the QoS requirements of the at least one secondapplication are to be met when the first application stream is to berouted to the selected radio.

Example 7 includes the subject matter of any one of Examples 1-6, andoptionally, wherein the apparatus is configured to cause the wirelesscommunication device to determine the CMB routing scheme to route afirst application stream of a first application of the one or moreapplications to a first radio of the plurality of radios, and to route asecond application stream of a second application of the one or moreapplications to a second radio of the plurality of radios.

Example 8 includes the subject matter of any one of Examples 1-7, andoptionally, wherein the apparatus is configured to cause the wirelesscommunication device to determine the CMB routing scheme to route afirst application stream of a particular application of the one or moreapplications to a first radio of the plurality of radios, and to route asecond application stream of the particular application to a secondradio of the plurality of radios.

Example 9 includes the subject matter of any one of Examples 1-8, andoptionally, wherein the one or more QoS requirements for the applicationstream comprise a maximal acceptable latency of packets of theapplication stream.

Example 10 includes the subject matter of any one of Examples 1-9, andoptionally, wherein the one or more QoS requirements for the applicationstream comprise a minimum average traffic rate.

Example 11 includes the subject matter of any one of Examples 1-10, andoptionally, wherein the one or more QoS requirements for the applicationstream comprise at least one of a maximum acceptable jitter, or aminimum required peak traffic rate.

Example 12 includes the subject matter of any one of 1-11, andoptionally, wherein the one or more network condition parameterscomprise one or more channel receive or transmit latency metrics.

Example 13 includes the subject matter of any one of Examples 1-12, andoptionally, wherein the one or more network condition parameterscomprise a transmit or receive data rate of traffic.

Example 14 includes the subject matter of any one of Examples 1-13, andoptionally, wherein the one or more network condition parameterscomprise one or more transmit queuing delay metrics.

Example 15 includes the subject matter of any one of Examples 1-14, andoptionally, wherein the one or more network condition parameterscomprise at least one of a Receive Signal Strength Indicator (RSSI), oneor more transmit or receive jitter metrics, or a receive Signal to NoiseRatio (SNR).

Example 16 includes the subject matter of any one of Examples 1-15, andoptionally, wherein the apparatus is configured to cause the wirelesscommunication device to route the application stream to an Access Point(AP) over the wireless communication band, and to determine the CMBrouting scheme based on band information from the AP relating to thewireless communication band.

Example 17 includes the subject matter of Example 16, and optionally,wherein the band information comprises a channel load reportcorresponding to the wireless communication band.

Example 18 includes the subject matter of Example 16 or 17, andoptionally, wherein the band information from the AP comprises at leastone of a station statistic report, a basic transmission rate ofmanagement frames, one or more access delay measurements, a BasicService Set (BSS) available admission capacity, or backbone capacity andlatency information.

Example 19 includes the subject matter of any one of Examples 1-18, andoptionally, wherein the apparatus is configured to cause the wirelesscommunication device to determine the CMB routing scheme based on policyinformation, the policy information comprising, for the applicationstream of the plurality of application streams, one or more policies forcommunication of the application stream over one or more networks.

Example 20 includes the subject matter of Example 19, and optionally,wherein the policy information comprises application requirementpriority information to prioritize the application stream with respectto one or more other application streams of the plurality of applicationstreams.

Example 21 includes the subject matter of Example 19 or 20, andoptionally, wherein the policy information comprises at least one ofdynamic routing support or network restriction information to restrictcommunication of the application stream over the one or more networks.

Example 22 includes the subject matter of any one of Examples 1-21, andoptionally, wherein the plurality of wireless communication bandscomprises at least one of a 2.4 Gigahertz (GHz) band, a 5 GHz band, or a6 GHz band.

Example 23 includes the subject matter of any one of Examples 1-22, andoptionally, comprising the plurality of radios.

Example 24 includes the subject matter of Example 23, and optionally,comprising one or more antennas connected to the plurality of radios, amemory to store data processed by the wireless communication device, anda processor to execute instructions of the one or more applications.

Example 25 comprises an apparatus comprising means for executing any ofthe described operations of Examples 1-24.

Example 26 comprises a machine-readable medium that stores instructionsfor execution by a processor to perform any of the described operationsof Examples 1-24.

Example 27 comprises an apparatus comprising: a memory interface; andprocessing circuitry configured to: perform any of the describedoperations of Examples 1-24.

Example 28 comprises a method to perform any of the described operationsof Examples 1-24.

Functions, operations, components and/or features described herein withreference to one or more embodiments, may be combined with, or may beutilized in combination with, one or more other functions, operations,components and/or features described herein with reference to one ormore other embodiments, or vice versa.

While certain features have been illustrated and described herein, manymodifications, substitutions, changes, and equivalents may occur tothose skilled in the art. It is, therefore, to be understood that theappended claims are intended to cover all such modifications and changesas fall within the true spirit of the disclosure.

What is claimed is:
 1. An apparatus comprising: a processor configuredto cause a wireless communication device to: determine a ConcurrentMultiple Band (CMB) routing scheme to route a plurality of applicationstreams to a plurality of radios of the wireless communication device,wherein the CMB routing scheme is configured to route a firstapplication stream of an application to a first radio of the wirelesscommunication device for wireless communication over a first wirelesscommunication band, and to route a second application stream of theapplication to a second radio of the wireless communication device forwireless communication over a second wireless communication band,wherein the second wireless communication band is different from thefirst wireless communication band, wherein the CMB routing scheme isbased on a latency-based requirement of the application; and route theplurality of application streams to the plurality of radios according tothe CMB routing scheme; and a memory to store information processed bythe processor.
 2. The apparatus of claim 1 configured to cause thewireless communication device to update the CMB routing scheme based ona change in a network condition corresponding to at least one of thefirst wireless communication band or the second wireless communicationband.
 3. The apparatus of claim 1 configured to cause the wirelesscommunication device to monitor network condition informationcorresponding to at least one of the first wireless communication bandor the second wireless communication band, and to update the CMB routingscheme based on a change in the network condition information.
 4. Theapparatus of claim 1 configured to cause the wireless communicationdevice to determine the CMB routing scheme to route the firstapplication stream to a selected radio of the plurality of radios basedon one or more network condition parameters from the selected radio. 5.The apparatus of claim 2 configured to cause the wireless communicationdevice to determine the CMB routing scheme to route the firstapplication stream to the selected radio based on whether or not thelatency-based requirement of the application is to be met based on thenetwork condition parameters from the selected radio.
 6. The apparatusof claim 1 configured to cause the wireless communication device todetermine the CMB routing scheme to route the first application streamto the first radio and the second application stream to the second radiobased on whether or not the latency-based requirement of the applicationis to be met when the first application stream is to be routed to thefirst radio, and whether or not the latency-based requirement of theapplication is to be met when the second application stream is to berouted to the second radio.
 7. The apparatus of claim 1, wherein thelatency-based requirement of the application comprises a maximalacceptable latency of packets.
 8. The apparatus of claim 1, wherein thelatency-based requirement of the application comprises a minimum averagetraffic rate.
 9. The apparatus of claim 1, wherein the CMB routingscheme is based on a jitter requirement of the application.
 10. Theapparatus of claim 1, wherein the first wireless communication bandcomprises a first band from a 2.4 Gigahertz (GHz) band, a 5 GHz band, ora 6 GHz band, and wherein the second wireless communication bandcomprises a second band from the 2.4 GHz band, the 5 GHz band, or the 6GHz band.
 11. The apparatus of claim 1 comprising the plurality ofradios, and one or more antennas connected to the plurality of radios.12. A product comprising one or more tangible computer-readablenon-transitory storage media comprising computer-executable instructionsoperable to, when executed by at least one processor, enable the atleast one processor to cause a wireless communication device to:determine a Concurrent Multiple Band (CMB) routing scheme to route aplurality of application streams to a plurality of radios of thewireless communication device, wherein the CMB routing scheme isconfigured to route a first application stream of an application to afirst radio of the wireless communication device for wirelesscommunication over a first wireless communication band, and to route asecond application stream of the application to a second radio of thewireless communication device for wireless communication over a secondwireless communication band, wherein the second wireless communicationband is different from the first wireless communication band, whereinthe CMB routing scheme is based on a latency-based requirement of theapplication; and route the plurality of application streams to theplurality of radios according to the CMB routing scheme.
 13. The productof claim 12, wherein the instructions, when executed, cause the wirelesscommunication device to update the CMB routing scheme based on a changein a network condition corresponding to at least one of the firstwireless communication band or the second wireless communication band.14. The product of claim 12, wherein the instructions, when executed,cause the wireless communication device to monitor network conditioninformation corresponding to at least one of the first wirelesscommunication band or the second wireless communication band, and toupdate the CMB routing scheme based on a change in the network conditioninformation.
 15. The product of claim 12, wherein the instructions, whenexecuted, cause the wireless communication device to determine the CMBrouting scheme to route the first application stream to a selected radioof the plurality of radios based on one or more network conditionparameters from the selected radio.
 16. The product of claim 12, whereinthe latency-based requirement of the application comprises a maximalacceptable latency of packets.
 17. The product of claim 12, wherein theCMB routing scheme is based on a jitter requirement of the application.18. The product of claim 12, wherein the first wireless communicationband comprises a first band of a 2.4 Gigahertz (GHz) band, a 5 GHz band,or a 6 GHz band, and wherein the second wireless communication bandcomprises a second band of the 2.4 GHz band, the 5 GHz band, or the 6GHz band.
 19. An apparatus of a wireless communication device, theapparatus comprising: means for determining a Concurrent Multiple Band(CMB) routing scheme to route a plurality of application streams to aplurality of radios of the wireless communication device, wherein theCMB routing scheme is configured to route a first application stream ofan application to a first radio of the wireless communication device forwireless communication over a first wireless communication band, and toroute a second application stream of the application to a second radioof the wireless communication device for wireless communication over asecond wireless communication band, wherein the second wirelesscommunication band is different from the first wireless communicationband, wherein the CMB routing scheme is based on a latency-basedrequirement of the application; and means for routing the plurality ofapplication streams to the plurality of radios according to the CMBrouting scheme.
 20. The apparatus of claim 19 comprising means forupdating the CMB routing scheme based on a change in a network conditioncorresponding to at least one of the first wireless communication bandor the second wireless communication band.